Skip to content

test(ffi): hexadeca-connector golden fixture + tri-language drift guard#510

Merged
hyperpolymath merged 1 commit into
mainfrom
claude/hopeful-ptolemy-ZdYqp
Jun 18, 2026
Merged

test(ffi): hexadeca-connector golden fixture + tri-language drift guard#510
hyperpolymath merged 1 commit into
mainfrom
claude/hopeful-ptolemy-ZdYqp

Conversation

@hyperpolymath

@hyperpolymath hyperpolymath commented Jun 18, 2026

Copy link
Copy Markdown
Owner

Closes the one drift-surface in the hexadeca-connector wire contract. The Zig enum, Idris2 ABI, and Rust client mirror the same 16 connectors, but agreement rested on three independent test suites each pinning the same constants — and the Idris connectorCount = Refl proof pins the count (16), not the ordering. A silent re-order updated in two of three mirrors would slip through.

Adds a single oracle:

  • ffi/connectors.json — golden source-of-truth (16 × {id, name}, in wire order).
  • test/hexadeca_contract_test.exs — reads the golden plus all three source files (hexadeca.zig, Types.idr, connector.rs) and asserts each mirror matches in name and order, and that ids are sequential 0–15.

Runs under the existing mix test (uses Jason — already a dep; no new workflow). A drift in any one mirror now fails CI instead of silently breaking the wire. Verified by hand that all three are currently in lockstep, so this should land green.

Part 1 of 2 from the hexadeca review; the doc pass (16-connector surface + the transaction-based-ephemerality model into the README/6a2) follows separately.

https://claude.ai/code/session_016R5WsMHtpnD8bmrkjFNFmg

ffi/connectors.json is the single source-of-truth for the 16-connector wire
contract. test/hexadeca_contract_test.exs reads it plus the Zig enum, the
Idris2 ABI, and the Rust client, and fails if any mirror drifts in name or
order -- making silent cross-language drift impossible. Runs under the
existing mix test; no new dep or workflow.

https://claude.ai/code/session_016R5WsMHtpnD8bmrkjFNFmg
@hyperpolymath hyperpolymath enabled auto-merge (squash) June 18, 2026 17:33
@github-actions

Copy link
Copy Markdown

🔍 Hypatia Security Scan

Findings: 42 issues detected

Severity Count
🔴 Critical 0
🟠 High 0
🟡 Medium 42
View findings
[
  {
    "reason": "Repository has 5 non-main remote branch(es). Policy: single main branch only.",
    "type": "GS007",
    "file": ".",
    "action": "delete_remote_branches",
    "rule_module": "git_state",
    "severity": "medium"
  },
  {
    "reason": "Code scanning (Hypatia): hypatia/structural_drift/SD022 -- Hypatia structural_drift: SD022 -- 15 day(s) old",
    "type": "CSA001",
    "file": "src/ui/gossamer/README.adoc",
    "action": "review",
    "rule_module": "code_scanning_alerts",
    "severity": "medium"
  },
  {
    "reason": "Code scanning (Hypatia): hypatia/structural_drift/SD022 -- Hypatia structural_drift: SD022 -- 15 day(s) old",
    "type": "CSA001",
    "file": "scripts/ci-tools/Cargo.toml",
    "action": "review",
    "rule_module": "code_scanning_alerts",
    "severity": "medium"
  },
  {
    "reason": "Code scanning (Hypatia): hypatia/structural_drift/SD022 -- Hypatia structural_drift: SD022 -- 15 day(s) old",
    "type": "CSA001",
    "file": "scripts/bench-tools/Cargo.toml",
    "action": "review",
    "rule_module": "code_scanning_alerts",
    "severity": "medium"
  },
  {
    "reason": "Code scanning (Hypatia): hypatia/structural_drift/SD022 -- Hypatia structural_drift: SD022 -- 15 day(s) old",
    "type": "CSA001",
    "file": "ffi/zig/README.adoc",
    "action": "review",
    "rule_module": "code_scanning_alerts",
    "severity": "medium"
  },
  {
    "reason": "Code scanning (Hypatia): hypatia/structural_drift/SD022 -- Hypatia structural_drift: SD022 -- 15 day(s) old",
    "type": "CSA001",
    "file": "docs/reports/audit/audit-2026-04-15-post.md",
    "action": "review",
    "rule_module": "code_scanning_alerts",
    "severity": "medium"
  },
  {
    "reason": "Code scanning (Hypatia): hypatia/structural_drift/SD022 -- Hypatia structural_drift: SD022 -- 15 day(s) old",
    "type": "CSA001",
    "file": "docs/integration/github-registry.adoc",
    "action": "review",
    "rule_module": "code_scanning_alerts",
    "severity": "medium"
  },
  {
    "reason": "Code scanning (Hypatia): hypatia/structural_drift/SD022 -- Hypatia structural_drift: SD022 -- 15 day(s) old",
    "type": "CSA001",
    "file": "docs/integration/github-registry.adoc",
    "action": "review",
    "rule_module": "code_scanning_alerts",
    "severity": "medium"
  },
  {
    "reason": "Code scanning (Hypatia): hypatia/structural_drift/SD022 -- Hypatia structural_drift: SD022 -- 15 day(s) old",
    "type": "CSA001",
    "file": "docs/integration/a2ml-k9.md",
    "action": "review",
    "rule_module": "code_scanning_alerts",
    "severity": "medium"
  },
  {
    "reason": "Code scanning (Hypatia): hypatia/structural_drift/SD022 -- Hypatia structural_drift: SD022 -- 15 day(s) old",
    "type": "CSA001",
    "file": "docs/architecture/system-integration.md",
    "action": "review",
    "rule_module": "code_scanning_alerts",
    "severity": "medium"
  }
]

Powered by Hypatia Neurosymbolic CI/CD Intelligence

@hyperpolymath hyperpolymath disabled auto-merge June 18, 2026 17:38
@hyperpolymath hyperpolymath enabled auto-merge (squash) June 18, 2026 17:38
@hyperpolymath hyperpolymath merged commit 3e49e0d into main Jun 18, 2026
40 checks passed
@hyperpolymath hyperpolymath deleted the claude/hopeful-ptolemy-ZdYqp branch June 18, 2026 17:50
hyperpolymath added a commit that referenced this pull request Jun 18, 2026
…el (#511)

Expands ffi/zig/README.adoc to document the 16-protocol Hexadeca-Connector
surface: the connector id/name table + load-bearing wire ordering + port
layout, the Zig/Idris2/Rust tri-language contract and its golden-fixture
drift guard (#510), the transaction-based ephemerality model, and the
fill-on-demand status of the per-protocol wire bodies. Docs-only; held 6a2
STATE/META/ANCHOR untouched.

https://claude.ai/code/session_016R5WsMHtpnD8bmrkjFNFmg
hyperpolymath added a commit that referenced this pull request Jun 20, 2026
## What

Adds `docs/status/handover-2026-06-20.md` — a session handover snapshot
for the next agent picking up estate hygiene across `hypatia`,
`gitbot-fleet`, and `.git-private-farm`.

## Why

The headline finding is **clone-vs-live drift**: both the hypatia and
gitbot-fleet clones used this session lag live `main` (hypatia at ~#462
vs live #516; gitbot-fleet at #261 vs live #298), and the `local_proxy`
git remote is a frozen snapshot that `git fetch` cannot refresh. Pushing
the local working branches is unsafe — gitbot-fleet's clone still
carries the 99 vendored sustainabot files that #297 deleted. The doc
records the safe write pattern (API-push from a fresh branch, as used
for #510#516) and the disposition of each touched issue.

## Contents

- Clone-vs-live drift table + safe-write guidance.
- Closed / grounded: gitbot-fleet #246 (closed), #255 + hypatia #426
(grounded).
- Blocked-on-owner: #417, #485, #486, #463/#464/#470, gitbot-fleet #278.
- Fresh-thread: wokelang, #482 wikis.

Docs-only; no code or rule changes. Draft for owner review.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

https://claude.ai/code/session_016R5WsMHtpnD8bmrkjFNFmg

---
_Generated by [Claude
Code](https://claude.ai/code/session_016R5WsMHtpnD8bmrkjFNFmg)_

Co-authored-by: Claude Opus 4.8 <noreply@anthropic.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant